<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
<title>MediaParserHlsMediaChunkExtractor (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="MediaParserHlsMediaChunkExtractor (ExoPlayer library)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.source.hls</a></div>
<h2 title="Class MediaParserHlsMediaChunkExtractor" class="title">Class MediaParserHlsMediaChunkExtractor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></dd>
</dl>
<hr>
<pre>@RequiresApi(30)
public final class <span class="typeNameLabel">MediaParserHlsMediaChunkExtractor</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></pre>
<div class="block"><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls"><code>HlsMediaChunkExtractor</code></a> implemented on top of the platform's <a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaParser</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="HlsExtractorFactory.html" title="interface in com.google.android.exoplayer2.source.hls">HlsExtractorFactory</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FACTORY">FACTORY</a></span></code></th>
<td class="colLast">
<div class="block"><a href="HlsExtractorFactory.html" title="interface in com.google.android.exoplayer2.source.hls"><code>HlsExtractorFactory</code></a> implementation that produces <a href="MediaParserHlsMediaChunkExtractor.html" title="class in com.google.android.exoplayer2.source.hls"><code>MediaParserHlsMediaChunkExtractor</code></a> for all container formats except WebVTT, for which a <a href="BundledHlsMediaChunkExtractor.html" title="class in com.google.android.exoplayer2.source.hls"><code>BundledHlsMediaChunkExtractor</code></a> is returned.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.media.MediaParser,com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30,com.google.android.exoplayer2.Format,boolean,com.google.common.collect.ImmutableList,int)">MediaParserHlsMediaChunkExtractor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top">MediaParser</a>&nbsp;mediaParser,
                                 <a href="../mediaparser/OutputConsumerAdapterV30.html" title="class in com.google.android.exoplayer2.source.mediaparser">OutputConsumerAdapterV30</a>&nbsp;outputConsumerAdapter,
                                 <a href="../../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format,
                                 boolean&nbsp;overrideInBandCaptionDeclarations,
                                 <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a>&lt;<a href="https://developer.android.com/reference/android/media/MediaFormat.html" title="class or interface in android.media" class="externalLink" target="_top">MediaFormat</a>&gt;&nbsp;muxedCaptionMediaFormats,
                                 int&nbsp;leadingBytesToSkip)</code></th>
<td class="colLast">
<div class="block">Creates a new instance.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init(com.google.android.exoplayer2.extractor.ExtractorOutput)">init</a></span>&#8203;(<a href="../../extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorOutput</a>&nbsp;extractorOutput)</code></th>
<td class="colLast">
<div class="block">Initializes the extractor with an <a href="../../extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorOutput</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPackedAudioExtractor()">isPackedAudioExtractor</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this is a packed audio extractor, as defined in RFC 8216, Section 3.4.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isReusable()">isReusable</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this instance can be used for extracting multiple continuous segments.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onTruncatedSegmentParsed()">onTruncatedSegmentParsed</a></span>()</code></th>
<td class="colLast">
<div class="block">Resets the sample parsing state.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#read(com.google.android.exoplayer2.extractor.ExtractorInput)">read</a></span>&#8203;(<a href="../../extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorInput</a>&nbsp;extractorInput)</code></th>
<td class="colLast">
<div class="block">Extracts data read from a provided <a href="../../extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorInput</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recreate()">recreate</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a new instance for extracting the same type of media as this one.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="FACTORY">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FACTORY</h4>
<pre>public static final&nbsp;<a href="HlsExtractorFactory.html" title="interface in com.google.android.exoplayer2.source.hls">HlsExtractorFactory</a> FACTORY</pre>
<div class="block"><a href="HlsExtractorFactory.html" title="interface in com.google.android.exoplayer2.source.hls"><code>HlsExtractorFactory</code></a> implementation that produces <a href="MediaParserHlsMediaChunkExtractor.html" title="class in com.google.android.exoplayer2.source.hls"><code>MediaParserHlsMediaChunkExtractor</code></a> for all container formats except WebVTT, for which a <a href="BundledHlsMediaChunkExtractor.html" title="class in com.google.android.exoplayer2.source.hls"><code>BundledHlsMediaChunkExtractor</code></a> is returned.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(android.media.MediaParser,com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30,com.google.android.exoplayer2.Format,boolean,com.google.common.collect.ImmutableList,int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MediaParserHlsMediaChunkExtractor</h4>
<pre>public&nbsp;MediaParserHlsMediaChunkExtractor&#8203;(<a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top">MediaParser</a>&nbsp;mediaParser,
                                         <a href="../mediaparser/OutputConsumerAdapterV30.html" title="class in com.google.android.exoplayer2.source.mediaparser">OutputConsumerAdapterV30</a>&nbsp;outputConsumerAdapter,
                                         <a href="../../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format,
                                         boolean&nbsp;overrideInBandCaptionDeclarations,
                                         <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a>&lt;<a href="https://developer.android.com/reference/android/media/MediaFormat.html" title="class or interface in android.media" class="externalLink" target="_top">MediaFormat</a>&gt;&nbsp;muxedCaptionMediaFormats,
                                         int&nbsp;leadingBytesToSkip)</pre>
<div class="block">Creates a new instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mediaParser</code> - The <a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaParser</code></a> instance to use for extraction of segments. The
     provided instance must have completed sniffing, or must have been created by name.</dd>
<dd><code>outputConsumerAdapter</code> - The <a href="../mediaparser/OutputConsumerAdapterV30.html" title="class in com.google.android.exoplayer2.source.mediaparser"><code>OutputConsumerAdapterV30</code></a> with which <code>
     mediaParser</code> was created.</dd>
<dd><code>format</code> - The <a href="../../Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> associated with the segment.</dd>
<dd><code>overrideInBandCaptionDeclarations</code> - Whether to ignore any in-band caption track
     declarations in favor of using the <code>muxedCaptionMediaFormats</code> instead. If false,
     caption declarations found in the extracted media will be used, causing <code>
     muxedCaptionMediaFormats</code> to be ignored instead.</dd>
<dd><code>muxedCaptionMediaFormats</code> - The list of in-band caption <a href="https://developer.android.com/reference/android/media/MediaFormat.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaFormats</code></a>
     that <a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaParser</code></a> should expose.</dd>
<dd><code>leadingBytesToSkip</code> - The number of bytes to skip from the start of the input before
     starting extraction.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="init(com.google.android.exoplayer2.extractor.ExtractorOutput)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;init&#8203;(<a href="../../extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorOutput</a>&nbsp;extractorOutput)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="HlsMediaChunkExtractor.html#init(com.google.android.exoplayer2.extractor.ExtractorOutput)">HlsMediaChunkExtractor</a></code></span></div>
<div class="block">Initializes the extractor with an <a href="../../extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorOutput</code></a>. Called at most once.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HlsMediaChunkExtractor.html#init(com.google.android.exoplayer2.extractor.ExtractorOutput)">init</a></code>&nbsp;in interface&nbsp;<code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>extractorOutput</code> - An <a href="../../extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorOutput</code></a> to receive extracted data.</dd>
</dl>
</li>
</ul>
<a id="read(com.google.android.exoplayer2.extractor.ExtractorInput)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;read&#8203;(<a href="../../extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorInput</a>&nbsp;extractorInput)
             throws <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="HlsMediaChunkExtractor.html#read(com.google.android.exoplayer2.extractor.ExtractorInput)">HlsMediaChunkExtractor</a></code></span></div>
<div class="block">Extracts data read from a provided <a href="../../extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorInput</code></a>. Must not be called before <a href="HlsMediaChunkExtractor.html#init(com.google.android.exoplayer2.extractor.ExtractorOutput)"><code>HlsMediaChunkExtractor.init(ExtractorOutput)</code></a>.

 <p>A single call to this method will block until some progress has been made, but will not
 block for longer than this. Hence each call will consume only a small amount of input data.

 <p>When this method throws an <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top"><code>IOException</code></a>, extraction may continue by providing an
 <a href="../../extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorInput</code></a> with an unchanged <a href="../../extractor/ExtractorInput.html#getPosition()"><code>read position</code></a> to
 a subsequent call to this method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HlsMediaChunkExtractor.html#read(com.google.android.exoplayer2.extractor.ExtractorInput)">read</a></code>&nbsp;in interface&nbsp;<code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>extractorInput</code> - The input to read from.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether there is any data left to extract. Returns false if the end of input has been
     reached.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top">IOException</a></code> - If an error occurred reading from or parsing the input.</dd>
</dl>
</li>
</ul>
<a id="isPackedAudioExtractor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPackedAudioExtractor</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isPackedAudioExtractor()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="HlsMediaChunkExtractor.html#isPackedAudioExtractor()">HlsMediaChunkExtractor</a></code></span></div>
<div class="block">Returns whether this is a packed audio extractor, as defined in RFC 8216, Section 3.4.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HlsMediaChunkExtractor.html#isPackedAudioExtractor()">isPackedAudioExtractor</a></code>&nbsp;in interface&nbsp;<code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></dd>
</dl>
</li>
</ul>
<a id="isReusable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReusable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isReusable()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="HlsMediaChunkExtractor.html#isReusable()">HlsMediaChunkExtractor</a></code></span></div>
<div class="block">Returns whether this instance can be used for extracting multiple continuous segments.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HlsMediaChunkExtractor.html#isReusable()">isReusable</a></code>&nbsp;in interface&nbsp;<code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></dd>
</dl>
</li>
</ul>
<a id="recreate()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recreate</h4>
<pre class="methodSignature">public&nbsp;<a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a>&nbsp;recreate()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="HlsMediaChunkExtractor.html#recreate()">HlsMediaChunkExtractor</a></code></span></div>
<div class="block">Returns a new instance for extracting the same type of media as this one. Can only be called on
 instances that are not <a href="HlsMediaChunkExtractor.html#isReusable()"><code>reusable</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HlsMediaChunkExtractor.html#recreate()">recreate</a></code>&nbsp;in interface&nbsp;<code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></dd>
</dl>
</li>
</ul>
<a id="onTruncatedSegmentParsed()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onTruncatedSegmentParsed</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onTruncatedSegmentParsed()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="HlsMediaChunkExtractor.html#onTruncatedSegmentParsed()">HlsMediaChunkExtractor</a></code></span></div>
<div class="block">Resets the sample parsing state.

 <p>Resetting the parsing state allows support for Fragmented MP4 EXT-X-I-FRAME-STREAM-INF
 segments. EXT-X-I-FRAME-STREAM-INF segments are truncated to include only a leading key frame.
 After parsing said keyframe, an extractor may reach an unexpected end of file. By resetting its
 state, we can continue feeding samples from the following segments to the extractor. See <a href="https://github.com/google/ExoPlayer/issues/7512">#7512</a> for context.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HlsMediaChunkExtractor.html#onTruncatedSegmentParsed()">onTruncatedSegmentParsed</a></code>&nbsp;in interface&nbsp;<code><a href="HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
